interface IUserInfo{
    getUserName:()=>string
    getHomeAddress:()=>string
}

interface IOuterUser{
    getUserBaseInfo:()=>Record<string, string>
    getUserHomeInfo:()=>Record<string, string>
}

class OuterUser implements IOuterUser{
    getUserBaseInfo(){
        return {
            username:'tom',
        }
    }
    getUserHomeInfo(){
        return {
            homeAddress:'beijing',
        }
    }
}
class OuterUserInfo extends OuterUser implements IUserInfo{
    getUserName(){
        return super.getUserBaseInfo().username
    }
    getHomeAddress(){
        return super.getUserHomeInfo().homeAddress

    }
}
